#!/bin/sh

case $1 in
    prereqs)
        exit 0
        ;;
esac

# Extract kernel parameters
root_val=""
set -- $(cat /proc/cmdline)
for x in "$@"; do
    case "$x" in
        root=UUID=*)
            root_val="${x#root=UUID=}"
            blkdev=$(blkid --uuid $root_val)
            ;;
        root=*)
            blkdev="${x#root=}"
            ;;
    esac
done

# Check the filesystem we are using
if [ ! -z $blkdev ]; then
    fstype=$(blkid -o value -s TYPE $blkdev)
    case "$fstype" in
        ext4)
            cmd="fsck.ext4 -v -p"
            ;;
        ext3)
            cmd="fsck.ext3 -v -p"
            ;;
    esac
    if [ ! -z "$cmd" ]; then
        $cmd $blkdev 2>&1 | gzip -c > /tmp/fsck.log.gz
    fi
fi
